package com.huizu.project.service;

import java.io.IOException;
import java.util.List;
import com.huizu.project.domain.ProUserLlPoints;
import com.huizu.project.domain.TheoryScoreVo;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 理论成绩Service接口
 * 
 * @author pjl
 * @date 2024-09-04
 */
public interface IProUserLlPointsService 
{
    /**
     * 查询理论成绩
     * 
     * @param id 理论成绩主键
     * @return 理论成绩
     */
    public ProUserLlPoints selectProUserLlPointsById(String id);

    /**
     * 查询理论成绩列表
     * 
     * @param proUserLlPoints 理论成绩
     * @return 理论成绩集合
     */
    public List<ProUserLlPoints> selectProUserLlPointsList(ProUserLlPoints proUserLlPoints);

    /**
     * 新增理论成绩
     * 
     * @param proUserLlPoints 理论成绩
     * @return 结果
     */
    public int insertProUserLlPoints(ProUserLlPoints proUserLlPoints);

    /**
     * 修改理论成绩
     * 
     * @param proUserLlPoints 理论成绩
     * @return 结果
     */
    public int updateProUserLlPoints(ProUserLlPoints proUserLlPoints);

    /**
     * 批量删除理论成绩
     * 
     * @param ids 需要删除的理论成绩主键集合
     * @return 结果
     */
    public int deleteProUserLlPointsByIds(String[] ids);

    /**
     * 删除理论成绩信息
     * 
     * @param id 理论成绩主键
     * @return 结果
     */
    public int deleteProUserLlPointsById(String id);

    /**
     * 理论成绩列表
     * @param theoryScoreVo
     * @return
     */
    List<TheoryScoreVo> selectForList(TheoryScoreVo theoryScoreVo);

    /**
     *
     * @param request
     * @param response
     * @param filePath
     * @throws IOException
     */
    void download(HttpServletRequest request, HttpServletResponse response, String filePath) throws IOException;

    /**
     * 导入成绩
     * @param file
     */
    void importTheoryScore(MultipartFile file) throws Exception;

    /**
     * 修改成绩
     * @param theoryScoreVo
     */
    void update(TheoryScoreVo theoryScoreVo);
}
